$(document).ready(function(){

	/*点击开启弹幕推送*/
	$("#show").click(function(){

		/*ajax请求 查询弹幕*/
		/*获取userid和videoid的值*/
		var userid=$("#userid").val();
		var videoid=$("#videoid").val();

		var danmuSearch1=new DanmuSearchVo(userid,videoid);


		var danmuSearchVo=JSON.stringify(danmuSearch1);

		showDanmu(danmuSearchVo);	


	});



	/*点击弹幕发送按钮*/
	$("#send").click(function(){
		var danmuText = $(".input_text").val();
		/*如果输入内容为空，就不会生成送弹幕*/
		if ( !danmuText ){
			return;
		}
		savedanmu(danmuText);
		createDanmu(danmuText);

	});
     
	
	
	
	
});

function danmu(text,date){
	this.text=text;
	this.date=date;
}

function DanmuSearchVo(userid,videoid){

	this.userid=userid;
	this.videoid=videoid;

}



/*将弹幕保存到数据库中 */
function savedanmu(danmuText){

	var jsonstring=danmuText;
	var date= CurentTime();
	var danmu1=new danmu(jsonstring,date);

	var danmuvo=JSON.stringify(danmu1);
	ajaxpost("/Danmu/addDanmu.do",danmuvo,function(date){
		var result = data;
		if (!result) {
			alert("发送弹幕失败");			 
		} else {
			alert("发送弹幕失败");
		}

	});




}
/*js获取当前时间 */
function CurentTime() {   
	var now = new Date();  

	var year = now.getFullYear();       //年  
	var month = now.getMonth() + 1;     //月  
	var day = now.getDate();            //日  

	var hh = now.getHours();            //时  
	var mm = now.getMinutes();          //分  
	var ss = now.getSeconds();           //秒  

	var clock = year + "-";  

	if(month < 10)  
		clock += "0";  

	clock += month + "-";  

	if(day < 10)  
		clock += "0";  

	clock += day + " ";  

	if(hh < 10)  
		clock += "0";  

	clock += hh + ":";  
	if (mm < 10) clock += '0';   
	clock += mm + ":";   

	if (ss < 10) clock += '0';   
	clock += ss;   
	return(clock);   
}  


function ajaxpost(url,params,cb){
	$.ajax({

		type : 'post',

		url : url,

		dataType : "json",
		/*
			      必须要加的属性
			       要求为String类型的参数，当发送信息至服务器时，内容编码类型默认为"application/x-www-form-urlencoded"。该默认值适合大多数应用场合。
			       当发送的数据格式为json时，设置的编码类型为："application/json; charset=utf-8" 
		 */
		contentType : "application/json",
		/*
		要求为Boolean类型的参数，默认设置为true，所有请求均为异步请求。如果需要发送同步请求，请将此选项设置为false。注意，同步请求将锁住浏览器，用户其他操作必须等待请求完成才可以执行。
		 */
		async : true,

		data : params,

		success : function(data) {
         if(data==null){
        	 
        	 alert("服务器异常");
        
         }else{
        	 cb(data);
         }
			
			

					

			
		},


	});

}

function showDanmu(danmuSearchVo){

	ajaxpost("/Danmu/showDanmu.do", danmuSearchVo,function(data){
		   console.log("hhehheee");
		    
		   /*循环遍历data的值*/
		   $.each(data, function (n,val) {
				  
			    
			 createDanmu(val);
			      
			 
			 }); 
	      
		
	});
}





function createDanmu(danmuText){
	
	var video = $("#my-video");//视屏dom
	var video_height = video.height();//视频高度
	var video_width = video.width();//视屏宽度
	var timerArr = [];//计时器数组
	var speed = 5;//弹幕滚动速度
  
	/*生成弹幕*/
	
	var danmuDiv = $( '<div>' + danmuText + '</div>' );
	
	video.append(danmuDiv);
	/*预先设置弹幕样式的某些属性*/
	var danmuFontSize = 16;//弹幕字体大小
	var danmuTop = parseInt( Math.random() * (video_height-danmuFontSize) +danmuFontSize );//弹幕距离视屏窗口上边距
	var danmuColor = 'rgb('+parseInt(Math.random()*255)+','+parseInt(Math.random()*255)+','+parseInt(Math.random()*255)+')';//弹幕颜色	
	var danmuWidth = danmuText.length * danmuFontSize;//弹幕宽度
	/*设置弹幕样式*/
	danmuDiv.css({
		"width": danmuWidth,
		"font-size": danmuFontSize,
		"top": danmuTop,
		"left": video_width,
		"color": danmuColor,
		"overflow": "hidden",
		"position": "absolute",
	});
	var left = danmuDiv.position().left;//获取弹幕相对于视屏窗口的左边距
	/*弹幕滚动*/
	var timer = setInterval(function(){
		left --;//向左滚动
		danmuDiv.css("left", left);
		/*弹幕完全退出视屏窗口时删除弹幕*/
		if( (left+danmuWidth) < 0 ){
			clearInterval( timer );//清除该条弹幕计时器
			danmuDiv.remove();//清除该条弹幕
		}
	}, speed);
	timerArr.push(timer);//加入到弹幕数组计时器 
}	
